﻿/*
功能: 根据角色id得到这个角色的所有级别
*/
function getRoleLevels(obj) {
    var data = new Object();

    var url = "/User/GetRoleLevels";
    var roleId = jQuery(obj).val();
    data.roleId = roleId;
    jQuery.ajax({
        url: url,
        data: data,
        type: "POST",
        dataType: "json",
        success: function (data) {
            //alert(data);
            //把属于该角色的级别放到一个select下拉列表里
            jQuery("#UserLevelId").empty();
            if (data.errors.length > 0) {
                var str = "";
                for (i in data.errors) {
                    str += data.errors[i];
                }
                alert("[系统提示:]\n\t" + str);
            }
            else {
                jQuery("#UserLevelId").append("<option value=''> -请选择- </option>");
                for (i = 0; i < data.DataList.length; i++) {
                    jQuery("#UserLevelId").append("<option value='" + data.DataList[i].Id + "'>" + data.DataList[i].LevelName + " </option>");
                }
            }
        },
        error: function () {
            alert("[系统提示:]\n\t获得角色级别时出错!");
        }
    });
}
/*
功能: 收集表单数据,封装在一个json对象中,
最后返回一个json对象
*/
function collectData() {
    var data = new Object();
    data.Id = jQuery("#Id").val();
    data.UserName = jQuery("#UserName").val();
    data.UserPassword = jQuery("#UserPassword").val();
    data.UserRoleId = jQuery("#UserRole").val();
    data.UserLevelId = jQuery("#UserLevelId").val();
    data.UserStateId = jQuery("#UserState").val();
    return data;
}
/*
功能: 添加或修改一个角色
根据隐藏域  <input type="hidden" id="Id"/>
的值来确定是修改还是添加
*/
function SaveUser() {
    var isAdd;
    if (jQuery("#Id").val() > 0) {
        //alert(">0");
        isAdd = false;
    }
    else {
        //alert("<0");
        isAdd = true;
    }
    var url = "";
    if (isAdd) {
        url = "/User/AddUser";
    }
    else {
        url = "/User/EditUser";
    }
    var data = collectData();
    jQuery.ajax({
        url: url,
        type: "POST",
        data: data,
        dataType: "json",
        cache: false,
        success: function (result) {
            setId(-100);
            if (result.isSuccess > 0) {
                alert("[系统提示:]\n\t" + "操作成功!");
            }
            else {
                alert("[系统提示:]\n\t" + "操作失败!");
            }
            reset(); //重置表单
            window.location.href = "/User/ViewManageUser?" + Math.random();
        },
        error: function () {
            alert("[系统提示:]\n\t" + "操作失败!");
        }
    });
}
/*
功能:修改隐藏域 <input type="hidden" id="Id"/>
的value属性值
*/
function setId(v) {
    jQuery("#Id").val(v);
}
/*
功能:根据角色id,得到一个角色实体,
将角色的属性值放到对应的表单中;
*/
function bindData(id) {
    jQuery.ajax({
        url: "/Role/GetRole/" + id,
        type: "post",
        dataType: "json",
        success: function (data) {
            jQuery("#Id").val(id);
            jQuery("#CancelEditBtn").removeAttr("disabled");
            jQuery("#Code").val(data.model.Code);
            jQuery("#Name").val(data.model.Name);
            jQuery("#Seq").val(data.model.Seq);
        }
    });
}
/*
功能: 当点击取消按钮时,所做的一系列操作
*/
function reset() {
    //step 1 修改隐藏域的值为负数
    setId(-100);
    //step 2 表单数据清空
    jQuery("#Id").val("");
    jQuery("#UserName").val("");
    jQuery("#UserPassword").val("");
    jQuery("#UserRole").val("");
    jQuery("#UserLevelId").val("");
    jQuery("#UserStateId").val("");
    //step 3 把取消按钮禁用
    jQuery("#CancelEditBtn").attr("disabled", "disabled");
}

/*
    功能:设置用户的状态(正常/锁定/删除)
*/
function setState(userId,stateId) {
    var data = new Object();
    data.Id = userId;
    data.UserStateId = stateId;
    jQuery.ajax({
        url: "/User/SetState",
        data: data,
        type: "post",
        dataType: "json",
        async: false,
        success: function (data) {
            if (data.isSuccess > 0) {
                alert("[系统提示:]\n\t修改用户状态成功");
                window.location = "/User/ViewManageUser?" + Math.random();
            }
            else {
                alert("[系统提示:]\n\t修改用户状态失败");
            }
        },
        error: function () {
            alert("[系统提示:]\n\t修改用户状态失败");
        }
    });
}

/*
    功能:给指定的用户分配权限
*/
function setPower(userId) {
    alert("给用户id为"+userId+"的用户分与权限");
}

/*
    功能:从权限表得到所有权限
*/
function getAllPower() { 

}